package com.tao.abstract_;

public class AbstractDetail01 {
    public static void main(String[] args) {
        //new A();1.抽象类不能被实例化
    }
}

abstract class A{
    //abstract public int n1 = 1;
    //2.abstract只能修饰类和方法，不能修饰其他
    abstract public void hi();//4.抽象方法里面不能有方法体
    public void hello(){  }
    public static int n2 = 3;

    public A() {
    }
    //3.抽象类本质上还是类，可以有任意成员
}

abstract class C extends A{
    //父类是抽象类，那么子类要不就是抽象类
}
//要不就是该普通子类实现抽象类的所有抽象方法
class B extends A{
    @Override
    public void hi() {

    }
}

abstract class D {
    //private abstract void hi();
    //public abstract final void hi();
    //public abstract static void hi();
    //抽象方法不能使用 private、final 和 static 来修饰，因为这些关键字都是和重写相违背的
}
